This invention relates to the field of data processing systems. More particularly, this invention relates to data processing systems which evaluate a data processing function using a sequence of program instructions with those instructions including an intermediate value generating instruction and an intermediate value consuming instruction between which an intermediate value is passed.
When evaluating a data processing function it is known, for a variety of reasons, to provide a sequence of program instructions which are executed to evaluate the data processing function concerned. As an example, a complex data processing function may be computationally intensive to evaluate and accordingly cannot be evaluated within a single processing cycle at the desired clock frequency. In this circumstance it is possible to divide the evaluation of the data processing function over several processing cycles by using a sequence of program instructions which between them evaluate the data processing function. As the sequence of data processing instructions cooperate in evaluating the processing function, it is normally necessary for them to pass intermediate processing results between the instructions within the sequence in order that each instruction may perform its part of the evaluation which may depend upon the partial results already determined by preceding instructions within the sequence of program instructions. The intermediate values passed between the instructions within the sequence of program instructions may or may not be externally visible to the programmer.